Note: char is 1 byte, int is 2 bytes, long is 4 bytes, float is 4, double is 8. 

_______________________________________________________________________


char   sync		  = 1;		// 0

type of synchronization with planets' movements (as the planet moves
along its orbit), can assume one of the following values:

0 = tracking disabled
1 = fixed-point chase
2 = far chase
3 = synchrone orbit (keeps looking at same spot over surface)
4 = high-speed orbit
5 = near chase
6 = high-speed near chase
_______________________________________________________________________

char   anti_rad 	  = 1;		// 1

high radiation protection (if set to 1, doesn't allow getting too
near to stars)
_______________________________________________________________________

char   pl_search	  = 0;		// 2

planet finder (if active, set to 1, drops a note about how many
planets and moons are found in the nearest star system, you know)
_______________________________________________________________________

char   field_amplificator = 0;		// 3

starfield amplificator flag: 1=active, 0=inactive
_______________________________________________________________________

char   ilight		  = 63; 	// 4

internal light's current power, 63 is max, 0 is off.
this is normally running from 0 to 63 after turning the
light on, and 63 to 0 after turning it off, slowly changing
the amount of light from the internal light.
_______________________________________________________________________

char   ilightv		  = 1;		// 5

variation of internal light's power, either 1 or -1.
when 1, the light is on and "ilight" tends to increment.
when -1, the light is off and "ilight" tends to decrement.
it cannot be zero.
_______________________________________________________________________

char   charge		  = 3;		// 6

amount of lithium (in grams)... typical range is 0 to 120.
when 0 you're usually in trouble ;)
_______________________________________________________________________

char   revcontrols	  = 0;		// 7

reverse pitch controls (as in preferences' menu).
it's a flag: 0 = normal, 1 = reversed.
_______________________________________________________________________

char   ap_targetting	  = 0;		// 8

flag: explorer was selecting a remote target for the
interstellar autopilot (active while crosshair shown)
_______________________________________________________________________

char   ap_targetted	  = 0;		// 9

flag: explorer did fix a remote target, but can assume
three values...

0 = no remote target selected;
+1 = remote target is a star;
-1 = remote target is a triplet of Parsis coordinates.
_______________________________________________________________________

char   ip_targetting	  = 0;		// 10

flag: explorer was selecting a local target for the
interplanetary autopilot (active while the local target's
crosshair is shown)
_______________________________________________________________________

char   ip_targetted	  = -1; 	// 11

flag: explorer did fix a local target, -1 means no
target, while 0 to 79 is the normal range of possible
planets and moons (0=P01, 79=P80).
_______________________________________________________________________

char   ip_reaching	  = 0;		// 12

flag: set to 1 while ship is approching local target;
_______________________________________________________________________

char   ip_reached	  = 0;		// 13

flag: set to 1 when ship arrived in vicinity of local target
and tracking eventually begins (if tracking is active, see "sync");
_______________________________________________________________________

char   ap_target_spin	  = 0;		// 14

rotation speed of targetted star... pulsars spin faster.
_______________________________________________________________________

char   ap_target_r	  = 0;		// 15

red component of light of targetted star, 0 to 63.
_______________________________________________________________________

char   ap_target_g	  = 0;		// 16

green component of light of targetted star, 0 to 63.
_______________________________________________________________________

char   ap_target_b	  = 0;		// 17

blue component of light of targetted star, 0 to 63.
_______________________________________________________________________

char   nearstar_spin	  = 0;		// 18

rotation speed of nearest star (typically the star whose
system you're actually in);
_______________________________________________________________________

char   nearstar_r	  = 0;		// 19

red component of the light of nearest star (typically the
star whose system you're actually in);
_______________________________________________________________________

char   nearstar_g	  = 0;		// 20

green component of the light of nearest star (typically the
star whose system you're actually in);
_______________________________________________________________________

char   nearstar_b	  = 0;		// 21

blue component of the light of nearest star (typically the
star whose system you're actually in);
_______________________________________________________________________

char   gburst		  = 0;		// 22

it's a counter used while sending out the help request...
to animate the beacon placed on top of the capsule...
uhm... goes from 1 to 63 while sending the request, it's 0
if inactive, it's -1 if there's been an error while sending the
help request (if you're not in emergency, it won't let you send it).
_______________________________________________________________________

char   menusalwayson	  = 1;		// 23

set to 1 if the main window's menus are to be kept on even
when the explorer is not facing them, otherwise they are
turned off automatically to speed up graphics a bit...
_______________________________________________________________________

char   depolarize	  = 0;		// 24

set to 1 while ship's hull is being depolarized...
_______________________________________________________________________

int    sys		  = 4;		// 25

current subsystem selected from the main window's computer
screen: goes from 1 to 4, where...

1 = flight control
2 = onboard devices
3 = prefs
4 = screen off
_______________________________________________________________________

int    pwr		  = 20000;	// 27

current elapsed kilodyams before the next lithium gram
is injected in the vimana engine. it's actually added a
constant value of 15000, so it goes from 15000 to 20000
and the displayed value is really (pwr - 15000): the constant
had something to do with a bleeper effect in the early versions
of Noctis, now it's useless but harmless, and mantained for
compatibility with past current.bin files.
_______________________________________________________________________

int    dev_page 	  = 0;		// 29

computer's subsystem page: the horizontal menu.
its value doesn't count when sys is different from 1, but it's
0 to 3 when sys=1. the values are as follows:

dev_page	corresponding page
0		it's the onboard devices' submenu
1		navigation instruments
2		miscellaneous
3		galactic cartography
4		emergency functions
_______________________________________________________________________

int    ap_target_class	  = 0;		// 31

star class (0 to 11) of the currently selected remote target.
_______________________________________________________________________

int    f_ray_elapsed	  = 0;		// 33

old variable relating the fationic cannon (distance
from target at fire time), and now unused.
_______________________________________________________________________

int    nearstar_class	  = 0;		// 35

star class (0 to 11) of the nearest star (of the system you're in).
_______________________________________________________________________

int    nearstar_nop	  = 0;		// 37

number of planets (not including moons) of the system you're in.
_______________________________________________________________________

float  pos_x		  = 0;		// 39

32-bit IEEE x coordinate of yourself inside the ship.
range -3100 to +3100.
_______________________________________________________________________

float  pos_y		  = 0;		// 43

32-bit IEEE y coordinate of yourself inside the ship.
typically zero when not on the roof: while on the roof,
its value drops below -500 (y axis is always reversed in
fast 3D engines).
_______________________________________________________________________

float  pos_z		  = -500;	// 47

32-bit IEEE z coordinate of yourself inside the ship,
range -300 to -5800.
-300 means nearest to the front window (window being at 0),
-5800 means nearest to the back of the ship.
_______________________________________________________________________

float  user_alfa	  = 0;		// 51

32-bit IEEE alpha angle of sight (yaw), espressed in degrees.
forced (re-ranged by the code) to -45 to +45
_______________________________________________________________________

float  user_beta	  = 0;		// 55

32-bit IEEE beta angle of sight (pitch), espressed in degrees.
forced (re-ranged by the code) to -90 to +90
_______________________________________________________________________

float  navigation_beta	  = 0;		// 59

32-bit IEEE beta angle where the ship points to, in degrees.
forced 0 to 360 (always less than 360).
0 is "north" of galaxy.
180 is "south".
_______________________________________________________________________

float  ap_target_ray	  = 1000;	// 63

32-bit IEEE ray in nanoparsis of the last targetted star.
_______________________________________________________________________

float  nearstar_ray	  = 1000;	// 67

32-bit IEEE ray in nanoparsis of the nearest star.
_______________________________________________________________________

double dzat_x		  = +3797120;	// 71

64-bit IEEE current x coordinate of the ship.
0;0;0 is nearby Balastrackonastreya.
the default value is the starting position, near Lyonesse.
x axis runs west-to-east.
_______________________________________________________________________

double dzat_y		  = -4352112;	// 79

64-bit IEEE current y coordinate of the ship.
y axis runs top-to-down.
it's displayed on the cartography screen as +4352112.
(only integer parts of the coordinates are revealed)
_______________________________________________________________________

double dzat_z		  = -925018;	// 87

64-bit IEEE current z coordinate of the ship.
z axis runs south-to-north.
_______________________________________________________________________

double ap_target_x	  = 0;		// 95

64-bit IEEE current x coordinate of last targetted star.
_______________________________________________________________________

double ap_target_y	  = 1E8;	// 103

64-bit IEEE current y coordinate of last targetted star.
default is a fake target to keep some elements from showing...
_______________________________________________________________________

double ap_target_z	  = 0;		// 111

64-bit IEEE current z coordinate of last targetted star.
_______________________________________________________________________

double nearstar_x	  = 0;		// 119

64-bit IEEE current x coordinate of nearest star (the system you're in).
_______________________________________________________________________

double nearstar_y	  = 1E8;	// 127

64-bit IEEE current x coordinate of nearest star (the system you're in).
default is a dummy star to keep some elements from showing...
_______________________________________________________________________

double nearstar_z	  = 0;		// 135

64-bit IEEE current z coordinate of nearest star (the system you're in).
_______________________________________________________________________

double helptime 	  = 0;		// 143

64-bit IEEE time (in seconds since a fixed epoch that is Jan 1, 1984)
giving when your help request (if any) will be satisfied.
_______________________________________________________________________

double ip_target_initial_d= 1E8;	// 151

64-bit IEEE initial distance from the local target (vimana anchor).
_______________________________________________________________________

double requested_approach_coefficient=1;// 159

64-bit IEEE future vimana amplification... varies with phases.
long to explain...
_______________________________________________________________________

double current_approach_coefficient = 1;// 167

64-bit IEEE current vimana amplification... varies with phases.
long to explain...
_______________________________________________________________________

double reaction_time	  = 0.01;	// 175

64-bit IEEE vimana reaction time... varies with phases.
long to explain...
_______________________________________________________________________

char   fcs_status[11]	  = "STANDBY";	// 183

ten chars + a null terminator.
it's the current readout of the HUD's bottom right display,
giving the flight control system status, error message etc...
_______________________________________________________________________

int    fcs_status_delay   = 0;		// 194

duration (in clock ticks) of last message displayed...
some messages are temporary.
_______________________________________________________________________

int    psys		  = 4;		// 196

previously selected subsystem of the onboard computer,
is assigned to the value of "sys" at the beginning of each
frame, and compared to see if the front window's screen is
to be updated.
_______________________________________________________________________

double ap_target_initial_d= 1E8;	// 198

64-bit IEEE initial distance from the remote target (vimana anchor).
_______________________________________________________________________

double requested_vimana_coefficient = 1;// 206
double current_vimana_coefficient = 1;	// 214
double vimana_reaction_time = 0.01;	// 222

as above, long to explain...
_______________________________________________________________________

char   lithium_collector  = 0;		// 230

self-explanatory flag: if 1, you're scoping some lithium.
_______________________________________________________________________

char   autoscreenoff	  = 0;		// 231

flag: if 1, the front window's screen turns off automatically
after a few seconds that you're not using any of the computer's
functions, to clean the view from the front window... set in the
preferences menu.
_______________________________________________________________________

char   ap_reached	  = 0;		// 232

flag: arrived in vicinity of remote target (also determines
wether you can or cannot target its planets...)
_______________________________________________________________________

int    lifter		  = 0;		// 233

it's a delta animating your y position (y_pos) in the ship,
while jumping on the roof, or down the roof...
_______________________________________________________________________

double secs		  = 0;		// 235

current seconds from epoch (from January 1st, 1984).
that's the game's internal epoch, nothing to do with
felisian EPOCS... although the EPOC is calculated basing
on this value...
_______________________________________________________________________

char   data		  = 0;		// 243

huh? what was that? lemme see... AH! here it is...
it's the kind of information requested from the misc. data
screen reporting star masses, planets' rotation periods etc...
works as follows:

0 = no data window displayed;
1 = displaying remote target data;
2 = displaying local target data;
3 = displaying external environment data;
_______________________________________________________________________

char   surlight 	  = 16; 	// 244

oh, the brightness of the HUD's outer rim (border of screen).
this can be adjusted using the plus and minus keys of the numeric keypad.
_______________________________________________________________________

FOR NEW VERSIONS OF NIV, MORE VARIABLES ARE ALSO IN THE FILE.
THESE ADDITIONAL VARIABLES ARE PLACED *AFTER* THE GOES DATA.
_______________________________________________________________________

char   option_speedup		=0;			// 0

0 = speedup is disabled
1 = speedup is enabled on the roof only
2 = speedup is enabled on the roof and in the SD

_______________________________________________________________________

char   option_temperature = 0;			// 1

0 = The old temperature algorithms are used.
1 = The new (unified) temperature algorithms are used.
_______________________________________________________________________

double nearstar_mass = -1;				// 2

This is the precalculated mass of the near star.
_______________________________________________________________________

double nearstar_surfaceTemperature = -1;	// 10

This is the precalculated surface temperature of the near star.
_______________________________________________________________________

double nearstar_temperatureTransmission =-1;// 18

This is the precalculated temperature transmission rate of the near star.
This is divided by distance squared to get the temperature at a certain
distance. Note: distance is in centidyams (1/100th of a dyam).

If this is -1 then the precalculations haven't been done yet.
_______________________________________________________________________

char   option_temperature_units = 0;			// 26

0 = Celsius
1 = Kelvin.
2 = Fahrenheit
_______________________________________________________________________

char   option_flying_lander = 1;				// 27

This determines if the 'flying lander' features are enabled. If these
are enabled, then while you are in the lander, you can press 'q' to fly up
to return to the drifter, 'a' to hover above the ground, and 'z' to land.
You can use the number keys to control the lander's speed, and it will move
in the direction you are facing.
_______________________________________________________________________

char option_antialias_in_stardrifter = 1;		// 28

This determines whether antialiasing in the stardrifter is enabled or
disabled. Pressing 'tab' changes this, or you can change it in the
'Extended'->'More Options' menu.
_______________________________________________________________________

char option_center_outerring_pointer = 0;		// 29

This determines whether the Center/Outerring pointer is enabled or disabled.
0: off. 1: on.
_______________________________________________________________________

char option_x_axis_pointer = 0;		// 30

This determines whether the X-axis pointers are on or off.
_______________________________________________________________________

char option_y_axis_pointer = 0;		// 31
This determines whether the Y-axis pointers are on or off.
_______________________________________________________________________

char option_z_axis_pointer = 0;		// 32
This determines whether the Z-axis pointers are on or off.
_______________________________________________________________________

char option_multiplayer = 0;		// 33
This determines whether IRC and multiplayer are enabled.
_______________________________________________________________________

char option_invis_sd = 0;			//34
If this is on, the drifter is invisible, except for the cupola and the
screens.
_______________________________________________________________________

char option_change_over_time = 1;	//35
If this is on, then when you're on a planet, the sun(s) can move over
time, and the colors can change as a result, etc (particularly if a
sunrise or sunset occurs). Weather can also change over time.
_______________________________________________________________________

long lastSnapshot = -1;				//36
This records the last snapshot taken. Noctis won't overwrite exiting
pictures no matter what, but it uses this to speed up its checking.
If you manage to take 99999999 snapshots, then it'll check for blank
slots with lower numbers (which could take a while), and if it finds
none then it'll complain ("TOO MANY SNAPSHOTS" in a status message).
_______________________________________________________________________

char option_mouseLook = 0;			//40
If 1, mouselook is enabled on planet surfaces. You can toggle this on
planets (See the F1 page for the key to press), or from the
"more options" submenu in the "Extended" menu.
_______________________________________________________________________

Dword ap_target_sx        = 0x7fffffff;		//41
This is the sector x coordinate for the targetted star. If it has its
default value, then we don't know the sector coordinates for the star.
_______________________________________________________________________
Dword ap_target_sy        = 0x7fffffff;		//45
This is the sector y coordinate for the targetted star. If it has its
default value, then we don't know the sector coordinates for the star.
_______________________________________________________________________
Dword ap_target_sz        = 0x7fffffff;		//49
This is the sector z coordinate for the targetted star. If it has its
default value, then we don't know the sector coordinates for the star.
_______________________________________________________________________

Dword nearstar_sx	  	= 0x7fffffff;		//53

This is the sector x coordinate for the near star. If it has its
default value, then we don't know the sector coordinates for the star.
_______________________________________________________________________

Dword nearstar_sy	  	= 0x7fffffff;		//57

This is the sector x coordinate for the near star. If it has its
default value, then we don't know the sector coordinates for the star.
_______________________________________________________________________

Dword nearstar_sz	  	= 0x7fffffff;		//61

This is the sector x coordinate for the near star. If it has its
default value, then we don't know the sector coordinates for the star.
_______________________________________________________________________

char option_3dbrackets = 0;					//65

If this is on, you get 3d brackets for hoppers and chargers, etc.
_______________________________________________________________________

That's 66 bytes.
